'''Programm
"Matrix (Laden, Werte vertauschen und Zeilen und Spalten addieren)"

author: cbrueck
'''

import csv

def matrix_laden(filename):
    #einlesen der matrix aus csv-datei
    csvdatei=open(filename)
    csv_inhalt=csv.reader(csvdatei, delimiter=",", quoting=csv.QUOTE_NONNUMERIC)
    data_liste=[]
    for row in csv_inhalt:
        data_liste.append(row)
    return data_liste

def matrix_tauschen(data):
    #geladene matrix kann an diese funktion uebergeben und vrearbeitet werden
    new_data_list=[]
    for xcol in range(0, len(data[0])):
        new_data_list.append([0]*len(data))

    for yrow in range(0, len(data)):
        for xcol in range(0, len(data[0])):
            new_data_list[xcol][yrow] = data[yrow][xcol]
    return new_data_list

def r_s_summe(data):
    #
    rn_summe=[]
    sn_summe=[0]*len(data[0])
    for row in data:
        r_summe=0
        for col_nr in range(0, len(row)):
            sn_summe[col_nr]=sn_summe[col_nr] + row[col_nr]
            r_summe=r_summe + row[col_nr]
        rn_summe.append(r_summe)
    return rn_summe, sn_summe




print("Bitte nur CSV-Dateien mit ',' als delimiter laden!")
print("")
print("Matrix laden ...")
input_matrix=matrix_laden("matrix.csv")
print("")
print("Matraix wurde geladen!")
print("")
print("Matrix:")
print(input_matrix)
print("")
print("Addieren der Reihen und Spalten der original Matrix...")
r_summe_input_matrix, s_summe_input_matrix=r_s_summe(input_matrix)
print("")
print("Ausgabe:")
print("")
print(r_summe_input_matrix)
print(s_summe_input_matrix)
print("Vertausche Matrix...")
output_matrix=matrix_tauschen(input_matrix)
print("")
print("Matrix wurde vertauscht!")
print("")
print("Vertauschte Matrix:")
print(output_matrix)
print("")
print("Addieren der Reihen und Spalten der original Matrix...")
r_summe_output_matrix, s_summe_output_matrix=r_s_summe(output_matrix)
print("")
print("Ausgabe:")
print("")
print(r_summe_output_matrix)
print(s_summe_output_matrix)
